Image processing method and apparatus, and profile management method

ABSTRACT

An image which has been color-converted in correspondence with the output characteristics of a printing press as a target for the purpose of proof may often be printed by a copying machine or printer. Prior to the proof, a generation history of a generated profile of an output device is preferably managed. The operator sets whether or not to save parameters (saving location and profile name) associated with saving of a file and colorimetric values, whether or not to save history management information, and the like.

This application is a divisional application of co-pending applicationSer. No. 11/223,953, filed Sep. 13, 2005, which was a divisionalapplication of U.S. application Ser. No. 09/948,604, filed Sep. 10,2001, now U.S. Pat. No. 7,035,454, which issued Apr. 25, 2006 each ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to an image processing apparatus andmethod, profile regeneration timing estimation method, color differencevariation display method, and profile management method and, moreparticularly, to a color reproduction process of a printer.

BACKGROUND OF THE INVENTION

As a color correction scheme for improving the color reproduction effectin a color reproduction process of a printer and printing press, amethod of converting data of an input color space into data of an outputcolor space by a color masking method that obtains data of the outputcolor space via matrix operations of data of the input color space isprevalently used.

However, the output characteristics of a color printer and printingpress show strong nonlinearity. Therefore, a global method such as acolor masking method, i.e., a color correction method in which a changein matrix element influences the entire output color space, cannotsufficiently approximate the characteristics of the color printer andprinting press in all color ranges.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a profile which canprecisely approximate strong nonlinear output characteristics of a colorprinter and printing press, and allows precise color reproduction, andto manage the generation history of the generated profile.

In order to achieve the above object, a preferred embodiment of thepresent invention discloses an image processing method of generating aprofile of a device, comprising the steps of: storing a generatedprofile in a predetermined memory area; and storing various conditionsupon generating the profile in a history management memory area.

It is another object of the present invention to manage colorimetricvalues used in generation of a profile.

In order to achieve the above object, a preferred embodiment of thepresent invention discloses the step of providing a user interface whichis used to save the various conditions together with the generatedprofile.

It is still another object of the present invention to estimate theregeneration timing of a profile.

In order to achieve the above object, a preferred embodiment of thepresent invention discloses an estimating method of estimating a profileregeneration timing of a device, comprising the steps of: readingcolorimetry histories of a device, which include colorimetric values andtime stamps of different timings, from a memory area; estimating aprofile regeneration timing from the read time-serial colorimetryhistories; and outputting information to inform arrival of the estimatedregeneration timing.

It is yet another object of the present invention to integrally managethe profile generation history, colorimetric value data, and the like ina database.

In order to achieve the above object, a preferred embodiment of thepresent invention discloses a computer program product comprising acomputer readable medium storing a computer program code, for anestimating method of estimating a profile regeneration timing of adevice, comprising process procedure code for: reading colorimetryhistories of a device, which include at least colorimetric values andtime stamps of different timings, from a memory area designated by auser; estimating a profile regeneration timing from the read time-serialcolorimetry histories; and outputting information to inform arrival ofthe estimated regeneration timing.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the arrangement of an image processingapparatus of the first embodiment;

FIG. 2 shows an example of an RGB to Lab conversion table;

FIG. 3 is a flow chart showing the sequence for executing Lab to deviceRGB conversion by obtaining the correspondence between device RGB valuesand Lab colorimetric values;

FIG. 4 shows an example of a sample image;

FIG. 5 shows an example of the colorimetric results of a color patchcolorimetric unit;

FIG. 6 is a view for explaining selection of sample points;

FIG. 7 is a graph for explaining a weighting function according to adistance d;

FIG. 8 is a graph for explaining a function for changing the number ofsample points;

FIG. 9 is a block diagram showing the arrangement of an image processingapparatus of the second embodiment;

FIG. 10 is a block diagram showing the arrangement of an imageprocessing apparatus of the third embodiment;

FIG. 11 is a block diagram showing the arrangement of a color conversionmodule of the fourth embodiment;

FIG. 12 is a diagram showing the color conversion sequence executed by aCMM shown in FIG. 11;

FIG. 13 shows a preview window displayed on a monitor shown in FIG. 12;

FIG. 14 is a flow chart. showing a colorimetric sequence;

FIGS. 15 to 19 show user interfaces in the colorimetric process;

FIG. 20 shows a user interface used to display the colorimetric result;

FIG. 21 is a table that stores standard colorimetric values;

FIG. 22 is a diagram for explaining a profile generation sequence of atarget;

FIG. 23 is a flow chart showing the smoothing sequence of colorimetricvalues;

FIGS. 24 and 25 show parameter setup windows displayed upon generating aprofile of a target;

FIG. 26 is a flow chart showing the sequence for saving a profile,colorimetric values, and history management information;

FIGS. 27 to 30 show user interfaces associated with history management;

FIG. 31 shows an example of a list of colorimetric values to be saved;

FIG. 32 shows an example of history management information to be saved;

FIG. 33 shows the concept of a profile regeneration timing;

FIG. 34 is a flow chart showing a process for estimating a profileregeneration timing, and generating an alarm;

FIG. 35 shows an alarm display example of profile regeneration;

FIG. 36 shows a display example of color difference variations;

FIG. 37 is a diagram showing a method of managing a project DB andcolorimetric value DB;

FIG. 38 shows an example of the format of a profile;

FIG. 39 shows a display example of a login window;

FIG. 40 is a project table stored in the project DB; and

FIG. 41 is a measurement table stored in the colorimetric value DB.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

An image processing apparatus according to an embodiment of the presentinvention will be described hereinafter with reference to theaccompanying drawings.

First Embodiment

[Arrangement]

FIG. 1 is a block diagram showing the arrangement of an image processingapparatus of this embodiment.

A signal input to the image processing apparatus shown in FIG. 1 is animage signal of a color space depending on a given device, and may be anRGB signal which represents an image read from a document by a givenscanner or a CMYK signal to be output to a given printer. When the firstembodiment is applied to a copying machine, the input signal is an RGBsignal that represents an image read by a scanner. When this embodimentis applied to proof (test print, calibration print), the input signal isa CMYK signal to be output to a printing press as a target.

Such input signal is input to an input color to Lab converter 101, andis converted into a signal of an Lab color space as a device-independentcolor space. This conversion is implemented by LUT conversion using aninput color to Lab conversion LUT 102.

In the input color to Lab conversion LUT 102, a table corresponding tothe color space of an input signal must be set. For example, when animage signal that depends on the RGB color space of scanner A is input,a three-dimensional input—three-dimensional output RGB to Lab conversiontable that represents the correspondence between RGB values depending onthe RGB color space of scanner A and Lab values is set as a table of theinput color to Lab conversion LUT 102. Likewise, when an image signaldepending on the CMYK color space of printer B is input, afour-dimensional input—three-dimensional output CMYK to Lab conversiontable that represents the correspondence between CMYK values dependingon the color space of printer B, and Lab values is set as a table of theinput color to Lab conversion LUT 102.

FIG. 2 shows an example of the RGB to Lab conversion table, and showsthe correspondence between 8-bit RGB values and Lab values. Since anactual table stores Lab values having representative RGB values asaddresses, the input color to Lab converter 101 reads out Lab valuesnear input RGB values from the table, and acquires Lab valuescorresponding to the input RGB values by interpolating using the readoutLab values.

An Lab signal output from the input color to Lab converter 101 isconverted into a signal in a device RGB color space by an Lab to deviceRGB converter 104 on the basis of a device RGB to Lab conversion LUT105. This process will be described in detail later.

When the color space of an input signal is an RGB color space, its colorrange is often broader than the color reproduction range of a printer.For this reason, the Lab signal output from the input color to Labconverter 101 is mapped in a color reproduction range of a printer 107(by gamut mapping) by a color space compression converter 103, and isthen input to the Lab to device RGB converter 104. As a practical methodof gamut mapping, a method of performing a color space compressionprocess in a uniform color space disclosed in Japanese Patent Laid-OpenNo. 8-130655, or the like may be used.

A signal of the device RGB color space, which is output from the Lab todevice RGB converter 104 is converted into a signal of a CMYK colorspace depending on the printer 107 by a device RGB to CMYK converter106, and the converted signal is sent to the printer 107. As for RGB toCMYK conversion, various methods are available, and a method to be usedis not particularly limited. For example, the following conversionequations are used:C=(1.0−R)−KM=(1.0−G)−KY=(1.0−B)−KK=min{(1.0−R),(1.0−G),(1.0−B)}[Lab to Device RGB Conversion]

The Lab to device RGB converter 104 will be described in detail below.

The Lab to device RGB converter 104 converts a signal on the basis ofthe correspondence between device RGB values obtained in advance, andLab colorimetric values. FIG. 3 is a flow chart showing the sequence forexecuting Lab to device RGB conversion by obtaining the correspondencebetween device RGB values and Lab colorimetric values. Of course, whenthe correspondence between device RGB values and Lab colorimetric valuesare already obtained, steps S1 and S2 are skipped.

-   -   Step S1

A color patch generator 108 generates a sample image consisting of aplurality of color patches, as shown in FIG. 4. An RGB signal of thegenerated sample image is output to the printer 107 via the device RGBto CMYK converter 106 to obtain a sample image 109.

The sample image is generated by the color patch generator 108 touniformly divide the device RGB color space. In the example shown inFIG. 4, an RGB color space specified by 8 bits per each of R, G, and Bis uniformly divided into 9×9×9 to obtain 729 patches. Normally, a colorspace depending on the printer 107 is a CMYK color space. However, sincethe RGB color space can be converted into a CMYK color space by aconversion rule, the RGB color space is considered as a color spacewhich depends on the printer 107.

-   -   Step S2

Color patches of the sample image 109 are measured by a color patchcolorimetric unit 110 to obtain Lab colorimetric values of therespective color patches. The obtained Lab colorimetric values aredistributed on an Lab color space, as shown in FIG. 5. With thisoperation, RGB values generated by the color patch generator 108 and Labcolorimetric values measured by the color patch colorimetric unit 110are obtained, thus obtaining a table of the device RGB to Lab conversionLUT 105. Using this device RGB to Lab conversion LUT 105, Lab to deviceRGB conversion is done.

When an LUT is used, known interpolation operations such as cubeinterpolation, tetrahedron interpolation, and the like are used. Inthese interpolation operations, grids corresponding to the input side ofthe LUT must have an equal interval. The device RGB values in the tableof the device RGB to Lab conversion LUT 105 are equally spaced apart,but Lab colorimetric values are not. For this reason, when Lab valuesare input, the table of the device RGB to Lab conversion LUT 105 doesnot form an LUT having grids at an equal interval. Therefore, aninterpolation operation that inputs Lab values cannot be simply made.For this reason, Lab to device RGB conversion is done in the followingsequence.

-   -   Step S3

Distances d (equivalent to color differences obtained by Lab colordifference equations) between Lab values included in the table of thedevice RGB to Lab conversion LUT 105, and the input Lab value arecomputed and are stored in a memory.

-   -   Step S4

As shown in FIG. 6, N entries (●) in ascending order of distance d areselected for an input Lab value (⊚). At this time, the entries aredescribed as follows in ascending order of distance d.

RGB Value Lab Colorimetric Value Distance RGB₁ Lab₁ d₁ RGB₂ Lab₂ d₂ RGB₃Lab₃ d₃ . . . . . . . . . RGB_(N) Lab_(N) d_(N) for d₁ < d₂ < d₃ < . . .< d_(N)

-   -   Step S5

A converted value (RGB value) corresponding to the input Lab value iscomputed by:RGB=(1/N)×Σ_(i=1) ^(N) RGBi×f(di)for f(x)=1/(1+x ⁴)

Since a function f(x) has characteristics shown in FIG. 7, thecomputation of the above equation is equivalent to an interpolationoperation made on the Lab color space by multiplying an RGB valuecorresponding to a closer Lab colorimetric value by a larger weight.

The number N of sample points used in the interpolation operation can beset to be a constant (e.g., 8) in the entire Lab color space. However,since colorimetric values are concentrated on a region with a lowerlightness value L*, as shown in FIG. 5, depending on the conversionscheme adopted in the device RGB to CMYK converter 106, a problem may beposed if N is set to be a constant. That is, since the distance dbecomes very small in the region where the colorimetric values areconcentrated, if N is small, an interpolation operation is made bymultiplying a small number of sample points by a large weight, andproblems such as tone jump in the RGB color space, abnormal whitebalance in a low-lightness region, and the like readily take place.

These problems can be effectively solved by interpolating while changingthe number of sample points in correspondence with an L* value of theinput Lab value, as shown in FIG. 8. Of course, even in a high-lightnessregion, the number of sample points used in the interpolation operationis limited and turbidity or the like is hard to occur. Note that theexample of a function N(L*) shown in FIG. 8 indicates a (¼)-th powerfunction that yields 128 when L*=0, and 4 when L*=100.

By repeating the processes in steps S3 to S5 for all input Lab values,an Lab signal can be converted into a device RGB signal.

Second Embodiment

An image processing apparatus according to the second embodiment of thepresent invention will be explained below. Note that the same referencenumerals in this embodiment denote the same parts as in the firstembodiment, and a detailed description thereof will be omitted.

FIG. 9 is a block diagram showing the arrangement of the imageprocessing apparatus of the second embodiment. The image processingapparatus of the second embodiment is different from that of the firstembodiment in that a signal of a device-independent color space isconverted into a signal of a color space of the printer 107 using an LUTin the same manner as in a case wherein an input signal is convertedinto a signal of a device-independent color space.

An Lab to CMYK converter 803 converts an Lab signal into a signal of aCMYK color space which depends on the printer 107 using an Lab to CMYKconversion LUT 804. The CMYK signal output from the Lab to CMYKconverter 803 is sent to the printer 107. The Lab to CMYK conversion LUT804 is prepared as follows.

A CMYK signal of a sample image generated by a color patch generator 808is output to the printer 107 to obtain a sample image 109.

The color patch colorimetric unit 110 measures color patches of theobtained sample image 109 to obtain Lab colorimetric values of therespective color patches. A CMYK to Lab conversion LUT is generated onthe basis of the obtained Lab colorimetric values and the CMYK valuesgenerated by the color patch generator 808. Based on the generated CMYKto Lab conversion LUT, the Lab to CMYK conversion LUT 804 is generatedusing the same method as in the first embodiment.

For example, if an Lab value is an 8-bit signal, an L* value ranges from0 to 255, and a* and b* values range from −128 to 127. When Lab gridsare formed by segmenting the Lab ranges into 16 steps, a table of theCMYK to Lab conversion LUT 804 can be generated by 4913 (=17³)calculations.

In the first embodiment, the Lab color space is converted into thedevice RGB color space using an LUT, and the device RGB color space isconverted into the CMYK color space by an arithmetic process. In thesecond embodiment, these conversion processes can be done by a singleLUT, thus achieving efficient conversion processes.

Third Embodiment

An image processing apparatus according to the third embodiment of thepresent invention will be described below. Note that the same referencenumerals in this embodiment denote the same parts as in the firstembodiment, and a detailed description thereof will be omitted.

FIG. 10 is a block diagram showing the arrangement of the imageprocessing apparatus of the third embodiment, which has an arrangementfor inputting an input signal of an sRGB color space that becomes astandard color space in the Internet in recent years. The sRGB colorspace has specific correspondence with an XYZ color space, and can beconsidered as a device-independent color space. Hence, when an sRGBvalue is converted into an XYZ or Lab value, and then undergoes theaforementioned conversion from the Lab color space into a printer colorspace, the printer 107 can reproduce an image expressed by the signal ofthe SRGB color space.

Referring to FIG. 10, an sRGB to CMYK converter 901 converts an inputsignal of the sRGB color space into a signal of the CMYK color spacethat depends on the printer 107 using an sRGB to CMYK conversion LUT902. The CMYK signal output from the sRGB to CMYK converter 901 is sentto the printer 107. The sRGB to CMYK conversion LUT 902 is generated asfollows.

An RGB signal of a sample image generated by the color patch generator108 is converted into a CMYK signal that depends on the printer 107 bythe device RGB to CMYK converter 106, and the converted CMYK signal isoutput to the printer 107, thus obtaining a sample image 109.

The color patch colorimetric unit 110 measures respective color patchesof the obtained sample image 109 to obtain Lab colorimetric values ofthe color patches. An sRGB to CMYK conversion LUT generator 908generates a table of the sRGB to CMYK conversion LUT 902 on the basis ofthe obtained Lab colorimetric values and the RGB values generated by thecolor patch generator 108.

The process of the sRGB to CMYK conversion LUT generator 908 generates atable of the sRGB to CMYK conversion LUT 902 on the basis of CMYK valuesobtained by applying the device RGB to CMYK conversion process explainedin the first embodiment to RGB values generated by the color patchgenerator 108, and sRGB values obtained by applying Lab to XYZ and XYZto sRGB conversions according to definition equations to Labcolorimetric values. For example, if an sRGB signal is an 8-bit signal,when 17×17×17 sRGB grids are formed by segmenting respective sRGB rangesinto 16 steps, a table of the sRGB to CMYK conversion LUT 902 can begenerated by 4913 (=17³) calculations.

According to the embodiments mentioned above, a color conversion methodwhich can precisely approximate strong nonlinear output characteristicsof a color printer and printing press and can realize high-precisioncolor reproduction can be provided. Therefore, since color spaceconversion that satisfactorily reflects the characteristics of a printerand printing press is done in the device-independent color space, theprinter and printing press can achieve high-precision color reproductionindependently of the input color space.

In the above embodiment, the Lab color space has been exemplified as thedevice-independent color space. However, other uniform color spaces,e.g., an Luv color space may be used to obtain the same effects.

Fourth Embodiment

In the above embodiments, the output device profile generation methodhas been explained. The device value (e.g., CMYK) to Lab conversion LUTexplained in each embodiment corresponds to a destination profile(BtoA0) 1101D of an output device shown in FIG. 12, and the Lab todevice value (e.g., CMYK) conversion LUT corresponds to a source profile(AtoB0) 1101S of an output device shown in FIG. 12.

In some cases, an image that has been color-converted in correspondencewith the output characteristics of a printing press as a target for thepurpose of proof (test print, calibration print) is printed by a copyingmachine or printer. To attain such proof, sample image data is suppliedto an output device used in the proof to make that device print a sampleimage by the method explained in the above embodiments, and a profilemust be generated based on colorimetric values of color patches of theobtained sample image. An image that has undergone color conversionusing the generated profile is printed by the output device.

An embodiment in which a profile of an output device used in proof isgenerated, and the processing result using the generated profile can beconfirmed will be explained as the fourth embodiment. Note that theprofile generated by the method explained in the fourth embodiment isnot limited to that for proof, and can be used in a normal output(print) process.

[Arrangement of Color Conversion Module]

An outline of the arrangement for making color conversion using aprofile will be explained first. FIG. 11 is a block diagram showing thearrangement of a color conversion module.

A colorimeter (spectrophotometer) 1001 and colorimetric module 1002measure color patches of a sample image (e.g., a standard IT8 or 4320CMYK image) printed by an output device. The colorimetric result issupplied to a profile generation module 1003 on-line or off-line, whichgenerates a profile 1101D (Lab to CMYK conversion LUT: BtoA0) andprofile 1101S (device value to Lab conversion LUT: AtoB0) as outputdevice profiles according to the definitions of ICC (International ColorConsortium) by the method explained in the above embodiments.

A preview module 1005 supplies (or instructs) an image 1006 to beproofed, a profile (target device value to Lab conversion LUT) 1102corresponding to a target device, the profiles 1101D and 1101S of theoutput device, and a monitor profile 1103 to a color management module(CMM) 1007 to make it color-convert the image 1006.

In the fourth embodiment, the profiles are generated using the samemethod as in the above embodiment. Functions in the fourth embodimentthat improve user's convenience will be explained in detail below.

[Colorimetric Process]

The color conversion module shown in FIG. 11 is supplied as software to,e.g., a personal computer and is implemented. The user can instructexecution of the colorimetric process via a user interface displayed ona monitor 1004.

FIG. 14 is a flow chart showing the colorimetric sequence, which isexecuted by the profile generation module 1003 shown in FIG. 11. Thiscolorimetric process corresponds to the process of the color patchcolorimetric unit 110 shown in FIG. 9.

When the operator instructs start of the colorimetric process, a windowshown in, e.g., FIG. 15 is displayed, and the operator selects acolorimetry device, colorimetric parameters (colorimetric light source,colorimetric field, and color space), and the type of sample image(color chart) from popup menus in step S21.

When the operator has pressed an [OK] button on the window shown in FIG.15, a window shown in, e.g., FIG. 16 is displayed, and the operator setsa sample image output by the output device on a colorimetric tableaccording to an instruction in step S22.

When the operator has pressed an [OK] button on the window shown in FIG.16, a window shown in, e.g., FIG. 17 is displayed, and the operator setsthe upper left position of a colorimetric range of the sample imageaccording to an instruction in step S23. Subsequently, windows shown in,e.g., FIGS. 18 and 19 are displayed in turn, and the operator sets theupper right and lower right positions of the colorimetric range of thesample image according to an instruction.

Upon completion of the above operations, the colorimeter 1001 andcolorimetric module 1002 measure color patches of the sample image instep S24. Upon completion of colorimetry, it is checked in step S25 ifall sample images have been measured. If sample images to be measuredstill remain, the flow returns to step S22 to repeat the processes insteps S22 to S24. If the sample image has an A4 size, two IT8 images(928 patches), or 10 4320 CMYK images (4320 patches) must be measured.

Upon completion of the colorimetry of the sample images, thecolorimetric result is color-displayed in step S26. FIG. 20 shows anexample of a window that displays the colorimetric result. Respectivesmall frames of the colorimetric result in FIG. 20 represent colorpatches, which are displayed in measured colors. ● marks in some smallframes indicate an alarm (details will be explained later) for themeasurement result.

The operator determines in step S27 with reference to the displayedcolorimetric result shown in FIG. 20 if the colorimetric process is tobe executed again. If the operator instructs to execute the colorimetricprocess again, only color patches with the alarm marks (●) are measuredagain in step S28, and the flow returns to step S26 to display thecolorimetric result again.

The profile generation module 1003 generates profiles of the outputdevice on the basis of Lab colorimetric values obtained from the sampleimages in the same manner as in the above embodiment. According to thefourth embodiment, the operator can easily set complicated parametersusing the user interface, and can accurately measure the colors of thesample images.

In the above description, the colorimetric result is displayed after thesample images are read. Alternatively, the colorimetric results may bedisplayed every time each color patch is read.

[Alarm Process]

The process associated with an alarm generated in step S26 will bedescribed in detail below.

FIG. 21 shows an example of a table which stores standard colorimetricvalues used by the color patch generator 108. Upon outputting a sampleimage (color patches 109), CMYK values stored in the table are output tothe output device, which outputs a sample image.

FIG. 21 defines standard Lab colorimetric values and allowabledifferences ΔE corresponding to CMYK values of the color patches. Thistable is prepared in advance in correspondence with the type of sampleimage (color chart) that can be selected on the user interface shown inFIG. 14. Since this table is in a text format having blanks or commas asdelimiters, Lab colorimetric values and allowable differences ΔE can bearbitrarily set.

The profile generation module 1003 compares a colorimetric value Lab ofeach color patch and a corresponding standard value Lab_(i) stored inthe table, and when the difference exceeds an allowable difference ΔE,the module 1003 attaches an alarm mark to the colorimetric result, thatis,if (|Lab−Lab_(i) |>ΔE)alarm mark_(i)=true;

Hence, when the colorimetric result of a given color patch has deviatedfrom the standard colorimetric value by the allowable difference orlarger, an alarm mark is displayed on the colorimetric result of thatcolor patch. If the operator instructs to execute the colorimetricprocess again, only color patches corresponding to the colorimetricresults with alarm marks are measured again to display the colorimetricresults again.

In this way, the fourth embodiment has a function of re-measuring colorpatches displayed together with the alarm marks. With this function, notall color patches need be measured upon executing the colorimetricprocess again. Also, the user need not designate color patches to bemeasured again. Hence, minimum required color patches can be easilymeasured again.

When the alarm marks are displayed in this manner, the state of theoutput device can be recognized. When a large number of alarm marks aredisplayed, or when alarm marks are concentratively displayed on colorpatches of given colors, this means that the color reproductioncharacteristics of that output device considerably deviate from thestandard, and it is determined that it is hard to attain high-precisionproof even when the profiles are optimized.

Furthermore, in the fourth embodiment, since the allowable differencesΔE can be set, criteria according to user's purpose can be provided bycontrolling the allowable differences ΔE according to user's purpose.Since the allowable differences ΔE can be set for respective colorpatches, alarm marks can be used as criteria according to user's purposeby setting allowable differences ΔE of colors important for the user(e.g., flesh colors) more strictly than other colors.

A plurality of tables shown in FIG. 21 are prepared, and the userselects one of these tables according to his or her purpose or the typeof output device when the output device outputs color patches. In thismanner, the alarm display can be made in accordance with the user'spurpose or the type of output device. The user may select one of theplurality of tables using the popup menu “type of color chart” on theuser interface shown in FIG. 15 in step S21 shown in FIG. 14. As thetable names displayed in the popup menu, the user may arbitrarily appenda title or comment to each table, and that title or comment may bedisplayed.

When alarm marks are displayed for most of color patches, colorimetricconditions may be inadequate. Hence, the colorimetric conditions must bere-set, and the colorimetric process must be redone.

[Generation of Profile]

Generation of the profiles of the output device will be described indetail below.

FIG. 22 is a diagram for explaining the generation sequence of theprofile of a target, i.e., the process explained in the secondembodiment more briefly.

Device CMYK data of a sample image selected by the user from a memory1012 is supplied to an output device 1010, thus printing a sample image1011. As the sample image, a standard IT8 or 4320 CMYK image or the likeis used.

The colorimeter 1001 and colorimetric module 1002 measure color patchesof the sample image 1011 printed by the output device 1010, and Labcolorimetric values are stored in the memory 1012. The profilegeneration module 1003 generates a device CMYK to Lab conversion table1013 corresponding to an AtoB0 tag of an ICC profile, and stores it inthe memory 1012.

Since a BtoA0 tag is required in addition to the AtoB0 tag inconsideration of a preview function to be described later, the profilegeneration module 1003 generates an Lab to device CMYK conversion table1014 on the basis of the device CMYK to Lab conversion table 1013. Notethat these conversion tables are finally stored in the memory 1012 asthe ICC profiles of the output device 1010.

Device CMYK values in the device CMYK to Lab conversion table 1013 areequally spaced apart, but Lab colorimetric values are not. When the Labto device CMYK conversion table 1014 that inputs Lab values isgenerated, Lab values must be equally spaced apart. Hence, the Lab todevice CMYK conversion table 1014 in which Lab values are equally spacedapart is generated based on the device CMYK to Lab conversion table 1013using the method explained in the first embodiment, and is stored in thememory 1012.

[Smoothing of Colorimetric Value]

Since the colorimeter 1001 is calibrated before it is used, givencolorimetric precision is assured. However, some colorimetric errors areinevitably present. Also, the sample image 1011 may include colorpatches which are not formed satisfactorily depending on the state ofthe output device 1010. For this reason, Lab colorimetric values aresmoothed as needed to suppress the influences of any colorimetric errorsand color patches which are not formed satisfactorily.

FIG. 23 is a flow chart showing the smoothing sequence of colorimetricvalues.

In step S11, Lab colorimetric values located on respective sides of aCMYRGBWK hexahedron on the Lab color space, which is defined by Labcolorimetric values of the sample image 1011 output from the outputdevice 1010 shown in FIG. 22, are smoothed. As a smoothing method, acolorimetric value of interest and a predetermined number of neighboringLab colorimetric values on the same side are sampled, and their mean orweighted mean value is used as the Lab colorimetric value of thecolorimetric value of interest.

In step S12, Lab colorimetric values on the respective planes of thehexahedron are smoothed using the Lab colorimetric values smoothed instep S11 and Lab colorimetric values located on respective planes. Instep S13, Lab colorimetric values inside the hexahedron are smoothedusing the Lab colorimetric values on the respective sides and planes ofthe hexahedron, which are smoothed in steps S11 and S12.

Using the smoothed Lab colorimetric values, the device CMYK to Labconversion table and Lab to device CMYK conversion tables are generatedby the aforementioned method.

Device RGB values (108 in FIG. 1) also form a solid on the RGB colorspace. The sides and planes of the hexahedron on the Lab color spacerespectively correspond to those of the solid on the RGB color space.Hence, the locations of the Lab colorimetric values on the sides andplanes can be easily selected from the device RGB values of the colorpatches used to output the sample image 1011.

Note that Lab colorimetric values may be plotted on the Lab color space,and the plot result may be analyzed to select Lab colorimetric valueslocated on the sides and planes.

Smoothing of colorimetric values has the following merits and demerits.As the merits, the influences of colorimetric errors and color patcheswhich cannot be formed satisfactorily can be suppressed. On the otherhand, as the demerits, when colorimetry and formation of color patchesare satisfactorily done, the measurement precision may impair.

[Smoothing of Conversion Tables]

A printer and printing press has strong nonlinear outputcharacteristics. Therefore, when a profile generated based on thecolorimetric result is used, pseudo edges and the like are readilygenerated in an output image. Hence, conversion tables are smoothed tomaintain tone continuity, as needed.

Upon smoothing the device CMYK to Lab conversion table 1013, an Labvalue corresponding to a grid point of interest (CMYK input value) and apredetermined number of Lab values at neighboring grid points aresampled, and their weighted mean value is set as an Lab value (outputvalue) corresponding to the grid point of interest.

Likewise, upon smoothing the Lab to device CMYK conversion table 1014, aCMYK value corresponding to a grid point of interest (Lab input value)and a predetermined number of CMYK values of neighboring grid points aresampled, and their weighted mean value is set as an Lab value (outputvalue) corresponding to the grid point of interest.

As the weighting method, a weight of the output value corresponding tothe grid point of interest (input value) is set to be smaller than thetotal weight of the output values of neighboring grid points. Forexample, the number of sampling points is 7, the weight corresponding tothe grid point of interest is 0.4, and the weight corresponding to eachof six neighboring grid point is 0.6/6. Note that the weighting methodis changed based on the number of grid points of the conversion table tobe generated, which is set by a popup menu “optimization” on a userinterface shown in FIG. 25. For example, when the number of grid pointsis small, and the grid spacing is large, a weight corresponding to eachneighboring grid point is reduced.

Smoothing of the conversion tables has the following merits anddemerits. As the merits, tone continuity can be improved, and pseudoedges of an output image can be suppressed. On the other hand, as thedemerits, the degree of faithfulness with respect to the colorreproduction characteristics of a printer lowers.

[Interface]

The color conversion module shown in FIG. 11 is supplied to, e.g., apersonal computer or the like as software, and is implemented. Whetheror not to execute smoothing can be set via a user interface displayed onthe monitor 1004.

FIGS. 24 and 25 show parameter setup windows displayed upon generatingthe profile of the output device 1010.

When a check box “smooth colorimetric values” on the window in FIG. 24is checked, the aforementioned smoothing process of colorimetric valuesis executed.

When a check box “smooth” on the source side of the window in FIG. 25 ischecked, the device CMYK to Lab conversion table 1013 is smoothed; whena check box “smooth” on the destination side is checked, the Lab todevice CMYK conversion table 1014 is smoothed.

In this way, in the fourth embodiment, whether or not to smooth thedevice CMYK to Lab conversion table 1013 and Lab to device CMYKconversion table 1014 can be independently set. By contrast, whether ornot to smooth colorimetric values cannot be independently set. This isattributed to different smoothing purposes. That is, the smoothing ofcolorimetric values is a process corresponding to colorimetricprecision, and smoothing of conversion tables is a process correspondingto the conversion processing results of the conversion tables.

The numbers of grids of the device CMYK to Lab conversion table 1013 andLab to device CMYK conversion table 1014 can be set by popup menus“optimization” on the source and destination sides shown in FIG. 25.That is, “precision priority” or “speed priority” can be selected asoptimization by the popup menu.

When “precision priority” is selected, the device CMYK to Lab conversiontable 1013 is defined by 17×17×17×17 grids, and the Lab to device CMYKconversion table 1014 is defined by 33×33×33 grids. On the other hand,when “speed priority” is selected, the device CMYK to Lab conversiontable 1013 is defined by 9×9×9×9 grids, and the Lab to device CMYKconversion table 1014 is defined by 17×17×17 grids.

In this way, the numbers of grid points of the conversion tables can beindependently set, which is one of the reasons why smoothing of theconversion tables can be independently set.

The aforementioned alarm process of colorimetric values can be used ascriteria upon determining whether or not to smooth colorimetric values.For example, when alarm marks are displayed on many color patches,colorimetric values are often preferably smoothed.

[History Management]

The profile of the target generated based on the colorimetric result inthe aforementioned sequence is saved in the memory 1012. In this case, aprofile generation history or the like may be saved to manage thegeneration process of the profile.

FIG. 26 is a flow chart showing the sequence for saving colorimetricvalues and history management information, which is executed by theprofile generation module 1003.

Upon completion of profile generation by the profile generation module1003, a window shown in FIG. 27 is displayed on the monitor 1004 in stepS31, and the operator sets whether or not to save parameters (savinglocation and profile name) associated with saving of a file, andcolorimetric values, whether or not to save history managementinformation, and the like. Note that “icc” is given as a defaultextension of the profile name. The file names of colorimetric values andhistory management information are obtained by changing only theextension of the profile name to “it8, “pbh”, and the like.

It is checked in step S32 if history management information is to besaved. If NO in step S32, the flow jumps to step S36.

If the history management information is to be saved, a window shown inFIG. 28 is displayed in step S33, and the operator sets the situation(output date, operator, printer name and location, and paper and inkused) upon outputting a sample image, the situation (saving location)upon saving the sample image, and the like.

In step S34, a window shown in FIG. 29 is displayed, and the operatorsets the situation (colorimetry date, operator, colorimetry device,colorimetric light source, and colorimetric field) and the like uponcolorimetry.

In step S35, a window shown in FIG. 30 is displayed, and the operatorsets the situation (operator and remarks) and the like upon generatingthe profile. Note that parameters such as “ON/OFF of white pointcorrection of colorimetric values” and “ON/OFF of smoothing ofcolorimetric values”, and “optimization (precision priority or speedpriority)”, “ON/OFF of smoothing”, “table precision (8 or 16 bits)”, bitprecision, and the like associated with lookup tables are set upongenerating the profile, and these parameters are automatically saved inthe history management information.

In step S36, a set parameter list is displayed on the monitor 1004. Whenthe operator wants to correct or modify the parameters, the flow returnsto step S31. If the parameters need not be corrected or modified, theflow advances to step S37 to save a profile with a file name, e.g.,ddcp.icc in the designated saving location (e.g., the designateddirectory or folder of the memory 1012).

It is then checked in step S38 if colorimetric values are saved. If YESin step S38, a list of colorimetric values (see FIG. 31), which has afile name, e.g., ddcp.it8 and a text file format, is saved at the samesaving location as the profile in step S39.

It is checked in step S40 if history management information is saved. IfYES in step S40, history management information (see FIG. 32) which hasa file name, e.g., ddcp.pbh and a text file format is saved at the samesaving location as the profile in step S41.

In this manner, not only the generated profile of the target, but alsocolorimetric results used in generation of the profile, and historyinformation upon colorimetry and generation of the profile can be savedand managed. Therefore, when any abnormality is found in the generatedprofile, its cause may be examined with reference to historyinformation, or a profile is re-generated based on the savedcolorimetric results, thus allowing easy troubleshooting.

[Preview]

The preview function of making monitor display for confirming if thegenerated profile of the target is appropriate will be explained below.The preview function is launched after the profile is generated by theaforementioned process.

FIG. 12 is a diagram showing the color conversion sequence executed bythe CMM 1007 shown in FIG. 11.

CMYK data of an image 1006 is converted into Lab data by the AtoB0 tagof the target device profile 1102, and is then converted into CMYK dataof the CMYK color space which depends on the output device 1010 by theBtoA0 tag (destination profile 1101D) of output device profiles 1101.Upon executing proof, this CMYK data is sent to an output device forproof.

The CMYK data of the CMYK color space which depends on the target isconverted again into Lab data by the AtoB0 tag (source profile 1101S) ofthe output device profiles 1101. The Lab data is converted into RGB dataof the color space which depends on the monitor 1004 by the monitorprofile 1103, and the RGB data is displayed on the monitor 1004. Thatis, an image which is to be printed by the target, i.e., preview imageB, can be displayed on the monitor 1004, and its color reproducibilitycan be observed.

Furthermore, when the Lab data converted using the target device profile1102 is directly converted into RGB data using the monitor profile 1103,and the RGB data is displayed as original image A on the monitor 1004,preview image B that has undergone color conversion using the outputdevice profiles 1101 and original image A (image to be output by thetarget device) that has not undergone any color conversion can beobserved and compared on the monitor 1004. Therefore, whether or not thegenerated output device profiles 1101 are appropriate can be confirmedby observing and comparing the two images.

FIG. 13 shows an example of a preview window displayed on the monitor1004. For example, original image A is displayed on, e.g., the leftwindow, and preview image B is displayed on the right window. Note thatthe two images have the same window sizes in FIG. 13. When the operatormoves the centers of the two windows by, e.g., a mouse or the like,these windows have arbitrary window sizes.

When a magnification on the upper left position of the preview window ischanged, the magnifications of the two images change. On the other hand,when the operator scrolls one image, the other image scrolls together.That is, the upper left position of the window is always located on thesame position on the image. Furthermore, while the operator sets a mousecursor on one image and presses the mouse button, another mouse cursoris displayed at the corresponding position on the other image. With suchuser interface of the preview window, the operator can easily observeand compare details of the two images.

According to the fourth embodiment, the generation results of the outputdevice profiles 1101 can be easily confirmed. Since a preview image(display image A) of the target device suitable for proof and an image(display image B) that has been processed using the generated outputdevice profiles 1101 are displayed side by side, the operator canconfirm the generation results of the output device profiles 1101 veryeasily.

Fifth Embodiment

An image process according to the fifth embodiment of the presentinvention, and a method of estimating the device profile regenerationtiming will be explained below. Note that the same reference numerals inthis embodiment denote the same parts as in the first to fourthembodiments, and a detailed description thereof will be omitted.

[Estimation of Profile Regeneration Timing]

FIG. 33 shows the concept of the profile regeneration timing.

Colorimetric values Lab of color patches output at different timings andtheir history information are read, and the colorimetric values andstandard colorimetric values Lab_(i) described in the fourth embodimentare compared. If no standard colorimetric values Lab_(i) are available,colorimetric values used upon generating a profile are used in place ofthem.

On the basis of the relationship between the “color chart output dates”in the history information and color chart average color differencesfrom the standard colorimetric values Lab_(i), color differencevariations are obtained time-serially. Note that time-serial colordifference variations need not be arranged at given intervals. In otherwords, the intervals of “color chart output dates” may be unequal. Atiming at which a curve approximated by coupling color difference valuesat respective “color chart output dates” crosses a color differenceallowable level dEi is obtained, and is set to be a profile regenerationtiming.

Using linear approximation for the sake of simplicity, a term Tm fromwhen a given profile is generated until another profile is generated iscalculated by:Tm=T1+(T2−T1)(dEi−dE1)/(dE2−dE1)where dEi: the color difference of the allowable level

dE2: the color difference that has exceeded the allowable level

T2: the term from the profile generation date to the “color chart outputdate” when the allowable level has been exceeded

dE1: the color difference immediately before the allowable level isexceeded

T1: the term from the profile generation date to the “color chart outputdate” immediately before the allowable level is exceeded

Therefore, when the color difference has exceeded the allowable leveldEi, a profile is regenerated, and Tm can be set as a profileregeneration term. Tm is calculated every time the profile isregenerated. In such case, Tm is preferably optimized in considerationof previously calculated Tm. A next regeneration timing can be obtainedbased on the regeneration term Tm calculated in the past. For example,the next regeneration timing as an optimum timing is obtained from anaverage value of the plural regeneration terms.

FIG. 34 is a flow chart showing the process for estimating the profileregeneration timing and generating an alarm, which is executed by, e.g.,the profile generation module 1003.

Whether or not the profile regeneration timing comes near is determinedby checking if the difference between the term elapsed after previousprofile generation date and Tm becomes a predetermined value (e.g., 14days) (S101). If YES in step S101, data for displaying an alarm shownin, e.g., FIG. 35 is generated, and is output to a monitor or the like(S102). Note that the alarm display timing (14 days before in theexample in FIG. 34) can be freely set by the user.

It is checked if the profile is regenerated (S103). If YES in step S103,history management information (colorimetry history) is read out fromthe memory 1012 or the like in accordance with parameters (savinglocation and profile name; see FIG. 27) associated with saving of afile, which are designated by the user, and the profile regenerationterm Tm is estimated (S104). After that, the flow returns to step S101.

[Color Difference Variation Display]

When data that visually shows color difference variations shown in,e.g., FIG. 36 is generated and output to the monitor the like inaddition to the alarm display shown in FIG. 35, the user may determinethe profile regeneration timing. In the example of the color differencevariation display shown in FIG. 35, the average color difference for allthe color patches (entire device color space), the average colordifference for a partial color space region such as a flesh tone region,and the color difference for a custom color such as a spot color areshown.

Also, different color difference allowable levels dEi can be set forrespective color difference variations. In this manner, even when theaverage color difference for all the color patches does not exceed theallowable level, an alarm may be generated when the color differencefor, e.g., the flesh tone region has exceeded the allowable level.

Sixth Embodiment

Management of a project database (to be referred to as a “project DB”hereinafter and colorimetric value database (to be referred to as a“colorimetric value DB” hereinafter) according to the sixth embodimentof the present invention will be described below. Note that the samereference numerals in this embodiment denote the same parts as in thefirst to fourth embodiments, and a detailed description thereof will beomitted.

[Management of Project DB and Colorimetric Value DB]

FIG. 37 is a diagram showing the method of managing the project DB andcolorimetric value DB.

The project DB that collects information required for generatingprofiles and the colorimetric value DB that collects colorimetric valuedata used in generation of profiles are present on a server 1501, andthe generated profiles are present on clients 1502 to 1504.

The profile generation module 1003 of each client analyzes the generatedprofile, and acquires required information from the respective DBs. Upongenerating a new profile, the profile generation module 1003 registershistory management information and colorimetric value data in therespective databases. Note that the project DB and colorimetric value DBneed not be present on the single server 1501 as long as they allowcross reference, and may be distributed on two servers. Also, thedatabase may be an ODB (Object-oriented Data Base), RDB (Relational DataBase), or a general data file.

As shown in FIG. 38, a private tag of each profile stores informationsuch as a profile version, profile build number, and the like to allow adatabase search. Note that the profile version is a number used tomanage a release version. Also, the profile build number indicates thenumber of times a profile is built for release, and is automaticallyincremented by the profile generation module 1003.

When the profile generation module 1003 is launched on each client, alogin window shown in, e.g., FIG. 39 is displayed on the monitor of theclient so as to establish connection to the databases. When the user ofthe client inputs an authentic login name and password to the loginwindow, the profile generation module 1003 which runs on the client isconnected to the project DB and colorimetric value DB. A case will beexemplified below wherein each database is an RDB.

As shown in FIG. 40, the project DB stores a user name, profileinformation, colorimetric value ID, profile generation parameters, andthe like as a project table.

As shown in FIG. 41, the colorimetric value DB stores a colorimetricvalue ID, colorimetry information, actual colorimetric value data, andthe like as a measurement table. If different colorimetric value datafor a single color device are stored, new colorimetric value data can begenerated by computing simple or weighted means values of colorimetricvalue data of different colorimetry dates. For example, by computingsimple mean values of colorimetric value data of colorimetric valueIDs=1 and 2, colorimetric value data of colorimetric value ID=3 can begenerated.

[Use of Project DB]

Upon reading a profile, the profile generation module 1003 collectsinformation from the read profile. Then, the profile generation module1003 sends, e.g., the following inquiry to the project DB.

-   -   SELECT COUNT(*) FROM ProjectTable    -   WHERE User=‘Taro’ AND ManufacturerID=‘CANO’ AND        Attribute=‘00000000’ AND CreatorID=‘CANO’ AND ProfileVersion=1        AND BuildNumber=1

In the above inquiry, “User”, “ManufacturerID”, “Attribute”,“CreatorID”, “ProfileVersion”, and “BuildNumber” respectively indicatethe fields of the user name, manufacturer ID, attribute, creator ID,profile version, and profile build number, and the project DB returns avalue indicating whether or not a record satisfying the conditions ofthese fields is stored to COUNT.

[Automatic Re-set of Profile Generation Parameter and Acquisition ofColorimetric Value Data]

When the project DB returns “0” in response to the above inquiry, itindicates a profile, the history of which does not remain on the projectDB. The profile generation module 1003 then displays a message “notregistered in database” or the like on the monitor.

When the project DB returns “1” in response to the above inquiry, itindicates a profile, the history of which remains on the project DB. Theprofile generation module 1003 can reproduce setup parameters upongenerating a profile as default values of profile generation parameters.Hence, the user can know profile generation parameters used upongenerating the read profile.

When the project DB returns “2” or more in response to the aboveinquiry, it indicates an error.

When the user wants to know profile generation parameters, or when he orshe wants to regenerate a profile by finely adjusting the profilegeneration parameters, the profile generation module 1003 acquirescolorimetric value data from the colorimetric value DB by the followinginquiry.

-   -   SELECT colorimetric value data FROM ProjectTable,        MeasurementTable    -   WHERE User=‘Taro’ AND ManufacturerID=‘CANO’ AND        Attribute=‘00000000’ AND CreatorID=‘CANO’ AND ProfileVersion=1        AND BuildNumber=1 AND ProjectTable.colorimetric value        ID=MeasurementTable.colorimetric value ID

When a profile is regenerated, that profile is registered in the projectDB as a new profile.

[Generation of New Profile and Automatic Assignment of Profile BuildNumber]

When a new profile is generated, the profile generation module 1003sends, e.g., the following inquiry to the project DB.

-   -   SELECT COUNT(*) FROM ProjectTable    -   WHERE User=‘Taro’ AND ManufacturerID=‘CANO’ AND        Attribute=‘00000000’ AND CreatorID=‘CANO’ AND ProfileVersion=1

Since the project DB returns the profile build number corresponding tothe designated device and profile version to COUNT, the profilegeneration module 1003 sets that profile build number in the generatedprofile. At the same time, the profile generation module 1003 registersprofile information, colorimetric value ID, and profile generationparameters in the project DB.

As the colorimetric value ID registered in the project ID, when newcolorimetric value data are used, a colorimetric value ID obtained byregistering data in the colorimetric value DB is used; when existingcolorimetric value data on the colorimetric value DB are used, thecorresponding colorimetric value ID is used.

[History Function]

In this embodiment, since all previous profile generation histories areregistered in the database, not only an immediately preceding profilegeneration environment but also all previous profile generationenvironments can be reproduced. For example, the number of times aspecific profile has been previously generated can be inquired using thefollowing inquiry.

-   -   SELECT COUNT(*) FROM ProjectTable    -   WHERE User=‘Taro’ AND ManufacturerID=‘CANO’ AND        Attribute=‘00000000’ AND CreatorID=‘CANO’

If each database contains time stamp information, the profile generationmodule 1003 can generate a list of profile generation histories withtime stamps on the monitor. The user can select a previous profilegeneration history with reference to this list, and can reproduce setupsof profile generation parameters used previously. When each databasecontains the time stamp information, the profile regeneration timing canbe estimated while considering an environmental variation such as aweather variation from the generating timing of the profile in the past.

In this manner, since this embodiment integrally manages the profilegeneration histories and colorimetric value data of each user using thedatabases, statistical processes such as estimation of the profileregeneration timing and the like from information registered in thedatabases can be easily done.

When the profile generation module 1003 runs on a standalone PC, theproject DB and colorimetric value DB can be implemented as general datafiles without using the RDB and ODB. The present invention can beapplied to a system constituted by a plurality of devices (e.g., hostcomputer, interface, reader, printer) or to an apparatus comprising asingle device (e.g., copy machine, facsimile).

Further, the object of the present invention can be also achieved byproviding a storage medium storing program codes for performing theaforesaid processes to a system or an apparatus, reading the programcodes with a computer (e.g., CPU, MPU) of the system or apparatus fromthe storage medium, then executing the program.

In this case, the program codes read from the storage medium realize thefunctions according to the embodiments, and the storage medium storingthe program codes constitutes the invention.

Further, the storage medium, such as a floppy disk, a hard disk, anoptical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape, anon-volatile type memory card, and ROM can be used for providing theprogram codes.

Furthermore, besides aforesaid functions according to the aboveembodiments are realized by executing the program codes which are readby a computer, the present invention includes a case where an OS(operating system) or the like working on the computer performs a partor entire processes in accordance with designations of the program codesand realizes functions according to the above embodiments.

Furthermore, the present invention also includes a case where, after theprogram codes read from the storage medium are written in a functionexpansion card which is inserted into the computer or in a memoryprovided in a function expansion unit which is connected to thecomputer, CPU or the like contained in the function expansion card orunit performs a part or entire process in accordance with designationsof the program codes and realizes functions of the above embodiments.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the appended claims.

1. An estimating method of estimating a profile regeneration timing of adevice, comprising the steps of: reading colorimetry histories of adevice, which include colorimetric values and time stamps of differenttimings, from a memory area; estimating a profile regeneration timingfrom the read time serial colorimetry histories, wherein theregeneration timing is estimated based on a color difference of aspecific color region; and outputting information to inform arrival ofthe estimated regeneration timing.
 2. The method according to claim 1,wherein an output timing of the information is set by a user.
 3. Anestimating method of estimating a profile regeneration timing of adevice, comprising the steps of: reading colorimetry histories of adevice, which include colorimetric values and time stamps of differenttimings, from a memory area; estimating a profile regeneration timingfrom the read time-serial colorimetry histories, wherein theregeneration timing is estimated based on an average value of pluralregeneration terms, each of which indicates a term between the pastregeneration timings; and outputting information to inform arrival ofthe estimated regeneration timing.
 4. An estimating method of estimatinga profile regeneration timing of a device, comprising the steps of:reading colorimetry histories of a device, which include colorimetryvalues and time stamps of different timings from a memory area;estimating a profile regeneration timing from the read time-serialcolorimetry histories, wherein the regeneration term is estimated bycalculating a timing of an approximate curve, which is obtained from thecolorimetry histories, being departed from a permissible range.
 5. Acomputer-executable program stored on a computer-readable mediumcomprising program code causing a computer to perform an estimatingmethod of estimating a profile regeneration timing of a device, themethod comprising: a reading step of reading colorimetry histories of adevice, which include at least colorimetric values and time stamps ofdifferent timings, from a memory area designated by a user; anestimating step of estimating a profile regeneration timing from theread time serial colorimetry histories, wherein the regeneration timingis estimated based on a color difference of a specific color region; andan outputting step of outputting information to inform arrival of theestimated regeneration timing.